技術問答
技術文章
iT 徵才
Tag
聊天室
2025 鐵人賽
登入/註冊
問答
文章
Tag
邦友
鐵人賽
搜尋
2024 iThome 鐵人賽
DAY
26
0
自我挑戰組
上班辦公室,下班讀書室:RISC-V / ARM64 體系結構編程與實踐
系列 第
26
篇
# [鐵人賽] Day 26 ARM 第 13 章節 GIC-V2 (2)
16th鐵人賽
ycliang
團隊
晶心壯士III: ALcHemist
2024-09-26 22:32:26
398 瀏覽
分享至
今日的行程:
辦公室:10:00 - 19:30
讀書室:21:30 - 22:30
正片開始
GIC-V2
SGI (Software Generated Interrupts): IPI
PPI (Private Peripheral Interrupts): local timer
SPI (Shared Peripheral Interrupts)
中斷流程
GIC 偵測到中斷發生,會將該中斷標記為 pending
GIC 中的 dispatche 略r 會選一個 priority 最高的 pending
interrupt 到 target CPU 的 CPU interface (也是由 dispatcher 決定)
CPU interface 會決定這個 interrupt 是否可以送給 CPU (CPU 需要處在特定狀態),可以的話,送一個 interrupt 給 target CPU
target CPU 進入 interrupt handling 過程,讀取 GICC_IAR (Interrupt Acknowledge Register) 來 claim 這個 interrupt 並且得到 interrupt ID (或是 CPU ID,如果是 SGI 的話)
當 GIC 偵測到 GICC_IAR 被讀取後,如果 interrupt 是 pending 的話,會變成 active
處理完 interrupt 後,會回傳 EOI (End Of Interrupt) 給 GIC
GIC 有支援 preemptive interrupt,不過由於 linux kernel 在執行 interrupt handling 過程中是 interrupt disable 的狀態,所以不會馬上收到。
書中有附上訊號的時序圖~
GIC-V2 register
-- 略 --
結論
drivers/irqchip/irq-gic.c
RISC-V PLIC sample implementation:
drivers/irqchip/irq-sifive-plic.c
RISC-V AIA (Advanced Interrupt Architecture)
drivers/irqchip/irq-riscv-intc.c
APLIC
IMSIC
留言
追蹤
檢舉
上一篇
[鐵人賽] Day 25 ARM 第 13 章節 GIC-V2
下一篇
[鐵人賽] Day 27 RISC-V 第 18 章節 Vector extension
系列文
上班辦公室,下班讀書室:RISC-V / ARM64 體系結構編程與實踐
共
30
篇
目錄
RSS系列文
訂閱系列文
5
人訂閱
26
# [鐵人賽] Day 26 ARM 第 13 章節 GIC-V2 (2)
27
[鐵人賽] Day 27 RISC-V 第 18 章節 Vector extension
28
[鐵人賽] Day 28 RISC-V 第 18 章 Vector Extension (2)
29
[鐵人賽] Day 29 RISC-V 第 18 章 Vector Extension (3)
30
[鐵人賽] Day 30 總結與回顧
完整目錄
熱門推薦
{{ item.subject }}
{{ item.channelVendor }}
|
{{ item.webinarstarted }}
|
{{ formatDate(item.duration) }}
直播中
立即報名
尚未有邦友留言
立即登入留言
iThome鐵人賽
參賽組數
902
組
團體組數
37
組
累計文章數
19866
篇
完賽人數
529
人
看影片追技術
看更多
{{ item.subject }}
{{ item.channelVendor }}
|
{{ formatDate(item.duration) }}
直播中
熱門tag
看更多
15th鐵人賽
16th鐵人賽
13th鐵人賽
14th鐵人賽
17th鐵人賽
12th鐵人賽
11th鐵人賽
鐵人賽
2019鐵人賽
javascript
2018鐵人賽
python
2017鐵人賽
windows
php
c#
linux
windows server
css
react
熱門問題
.NET C# 資料庫 CRUD 專案,實務上會怎麼安排單元測試 / 整合測試?xUnit 可以直接拿來寫整合測試嗎?
關於中華nokia數據機DHCP問題
.NET FRAMEWORK 3.5 安裝
OUTLOOK無法搜尋、無法建立索引且無法執行Windows Search
鼎新ERP WorkFlow GP3升級到AiGP
不能關機
Fortigate防火牆的選擇??
k8s CKS/CKAD 這兩張推薦去考嗎?
Windows更新像跑馬燈以致無法進入桌面
還能怎麼加固安全?
熱門回答
.NET FRAMEWORK 3.5 安裝
鼎新ERP WorkFlow GP3升級到AiGP
Fortigate防火牆的選擇??
網路電話VoIP Gateway被駭客盜打的問題??? 網路電話:Mini voip router 福憶電子
關於中華nokia數據機DHCP問題
熱門文章
再見了 Ingress NGINX
[技術實戰] 拒絕雲端洩密!我用 Docker + Llama 3 打造工程師專用的「100% 離線」AI 研發資料庫
坊間ISO課程個人理解
【2025 最強 AI IDE】Kiro Spec Mode:30 分鐘從 0 做出可部署 AWS 專案,VS Code 真的要掰了
Excel下拉選單自訂秘技,資料篩選更快速
IT邦幫忙
×
標記使用者
輸入對方的帳號或暱稱
Loading
找不到結果。
標記
{{ result.label }}
{{ result.account }}